/*************************************************
filename	: event_manager.h
author		: Stefan lulham
desc		: A basic event manager, 
			  lets you push and pop events
*************************************************/
#ifndef D_EVENT_MANAGER_H
#define D_EVENT_MANAGER_H

#include "delge_event.h"
#include <queue>

using namespace std;

namespace DelGE
{
	namespace Managers
	{
		namespace Event
		{
			class EventManager
			{
			private:
				static queue<DelGEEvent> qEventQueue;				// A queue containing the events (FIFO)

			public:
				static void PushEvent(const DelGEEvent &rEvent);	// Pushes an event onto the queue, it will put the event at the end.
				static bool PopEvent(DelGEEvent &rEvent);			// Pops an event from the queue, it will take the one from the front.
			};
		}
	}
}


#endif